package test1;
/*Manage类实现的功能：
1、添加学生
2、更新学生基本信息
3、删除学生信息
4、按照成绩排序
5、根据学号判断学生是否存在并查找学生
*/
public class Manage {  //用来管理学生的类
    String msg = "\t 学号\t 姓名\tJava成绩";

    public void print(Student[] arr){//输出数据
        System.out.println(msg);
        for(int i=0;i<arr.length;i++){
            if(arr[i]!=null){
                System.out.println(arr[i]);
            }
        }
    }
    public boolean exist(int ID, Student stu) {//判断学生是否存在
        if (stu != null) {
            if (stu.getID() == ID) {
                return true;
            } else {
                return false;
            }
        }
        return false;
    }

    public void Create(int num, int ID, String name,int score, Student[] arr) {//添加学生
        Student stu = new Student();
        stu.setID(ID);
        stu.setName(name);
        stu.setJava(score);
        int i = this.setIndex(arr);
        if(i==1000){
            System.out.println("学生人数达到上限，添加失败！");
        }else{
            arr[i]=stu;
        }
        this.print(arr);
    }

    public int setIndex(Student[] arr) { //返回数组为空的下标
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == null) {
                return i;
            }
        }
        return 1000;
    }

    public void find(int ID, Student[] arr) {//查询学生
        for (int i = 0; i < arr.length; i++) {
            if (this.exist(ID, arr[i]) == true) {
                System.out.println(msg);
                System.out.println(arr[i]);
                return;
            }
        }
        System.out.println("查无此人！");
    }

    public void update(int ID, String name, int score, Student[] arr) {//更新学生基本信息
        for (int i = 0; i < arr.length; i++) {
            if (this.exist(ID, arr[i]) == true) {
                arr[i].setName(name);
                arr[i].setJava(score);
                System.out.println("更新学生信息成功！");
                this.print(arr);
                return;
            }
        }
        System.out.println("查无此人！");
    }

    public void delete(int ID, Student[] arr){//删除学生信息
        for(int i = 0; i < arr.length; i++) {
            if (this.exist(ID, arr[i]) == true) {
                arr[i] = null;
            }
        }
    }

    public void courseSort( Student[] arr) {//按照Java成绩排序
       {
            for (int i = 0; i < arr.length; i++) {
                for (int j = i + 1; j < arr.length; j++) {
                    if (arr[i] != null && arr[j] != null) {
                        if (arr[i].getJava() < arr[j].getJava()) {
                            Student t = arr[i];
                            arr[i] = arr[j];
                            arr[j] = t;
                        }
                    }
                }
            }
        }
        this.print(arr);
    }
}